home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
misc
/
dspice0s
/
plot.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-11-21
|
19KB
|
664 lines
/* plot.f -- translated by f2c (version of 3 February 1990 3:36:42).
You must link the resulting object file with the libraries:
-lF77 -lI77 -lm -lc (in that order)
*/
#include "f2c.h"
/* Common Block Declarations */
struct {
doublereal atime, aprog[3], adate, atitle[10], defl, defw, defad, defas,
rstats[50];
integer iwidth, lwidth, nopage;
} miscel_;
#define miscel_1 miscel_
struct {
doublereal omega, time, delta, delold[7], ag[7], vt, xni, egfet, xmu,
sfactr;
integer mode, modedc, icalc, initf, method, iord, maxord, noncon, iterno,
itemno, nosolv, modac, ipiv, ivmflg, ipostp, iscrch, iofile;
} status_;
#define status_1 status_
struct {
doublereal twopi, xlog2, xlog10, root2, rad, boltz, charge, ctok, gmin,
reltol, abstol, vntol, trtol, chgtol, eps0, epssil, epsox, pivtol,
pivrel;
} knstnt_;
#define knstnt_1 knstnt_
struct {
doublereal xincr, string[15], xstart, yvar[8];
integer itab[8], itype[8], ilogy[8], npoint, numout, kntr, numdgt;
} outinf_;
#define outinf_1 outinf_
struct {
doublereal value[200000];
} blank_;
#define blank_1 blank_
/* Table of constant values */
static integer c__1 = 1;
static integer c__4 = 4;
static integer c__2 = 2;
static integer c__13 = 13;
/*< subroutine plot(numpnt,locx,locy,locv) >*/
/* Subroutine */ int plot_(numpnt, locx, locy, locv)
integer *numpnt, *locx, *locy, *locv;
{
/* Initialized data */
static struct {
char e_1[8];
doublereal e_2;
} equiv_54 = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
#define ablnk (*(doublereal *)&equiv_54)
static struct {
char e_1[8];
doublereal e_2;
} equiv_55 = { {'x', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
#define aletx (*(doublereal *)&equiv_55)
static struct {
char e_1[8];
doublereal e_2;
} equiv_56 = { {'.', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
#define aper (*(doublereal *)&equiv_56)
static struct {
char e_1[8];
doublereal e_2;
} equiv_57 = { {'(', '-', '-', '-', '-', '-', '-', '-'}, 0. };
#define asym1 (*(doublereal *)&equiv_57)
static struct {
char e_1[8];
doublereal e_2;
} equiv_58 = { {'-', '-', '-', '-', '-', '-', '-', '-'}, 0. };
#define asym2 (*(doublereal *)&equiv_58)
static struct {
char e_1[8];
doublereal e_2;
} equiv_59 = { {')', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
#define arprn (*(doublereal *)&equiv_59)
static struct {
char e_1[8];
doublereal e_2;
} equiv_60 = { {'*', '+', '=', '$', '0', '<', '>', '?'}, 0. };
#define pltsym (*(doublereal *)&equiv_60)
/* Format strings */
static char fmt_271[] = "(/2a8,\002----\002,1pd12.3,4(15x,d10.3)/26x,51\
(\002 -\002))";
static char fmt_273[] = "(/2a8,1x,1pd10.3,3(4x,d10.3),1x,d10.3/22x,29\
(\002 -\002))";
static char fmt_291[] = "(/20x,1pd12.3,4(15x,d10.3)/26x,51(\002 -\002))";
static char fmt_293[] = "(/15x,1pd12.3,3(4x,d10.3),1x,d10.3/22x,29(\002 \
-\002))";
static char fmt_316[] = "(1pd10.3,3x,d10.3,3x,13a8)";
static char fmt_317[] = "(1pd10.3,1x,d10.3,1x,7a8,a1)";
static char fmt_331[] = "(26x,51(\002 -\002)//)";
static char fmt_332[] = "(22x,29(\002 -\002)//)";
static char fmt_401[] = "(\0020warning: too few points for plotting\002\
/)";
static char fmt_501[] = "(\002y\002)";
/* System generated locals */
integer i_1, i_2;
doublereal d_1, d_2, d_3;
/* Builtin functions */
double d_lg10(), exp();
integer s_wsfe(), do_fio(), e_wsfe();
/* Local variables */
static doublereal pmin[8];
extern /* Subroutine */ int move_();
static doublereal asym[2];
static integer ipos, ktmp;
static doublereal ymin, ymax, xvar, ymin1, ymax1;
extern /* Subroutine */ int copy8_();
static integer i, j, k, l;
extern /* Subroutine */ int scale_();
static integer iwide, nwide, icoor[8], jcoor[8];
static doublereal aplot[13], small, aspot, ycoor[40] /* was [5][8]
*/;
static integer locyt, ispot, lspot;
static doublereal y1, y2;
static integer nwide4;
static doublereal agraph[13];
#define nodplc ((integer *)&blank_1)
#define cvalue ((complex *)&blank_1)
static doublereal delplt[8];
static integer mltscl, numcor, jpoint;
static doublereal del, yvr;
/* Fortran I/O blocks */
static cilist io__38 = { 0, 0, 0, fmt_271, 0 };
static cilist io__39 = { 0, 0, 0, fmt_273, 0 };
static cilist io__40 = { 0, 0, 0, fmt_291, 0 };
static cilist io__41 = { 0, 0, 0, fmt_293, 0 };
static cilist io__48 = { 0, 0, 0, fmt_316, 0 };
static cilist io__49 = { 0, 0, 0, fmt_317, 0 };
static cilist io__50 = { 0, 0, 0, fmt_331, 0 };
static cilist io__51 = { 0, 0, 0, fmt_332, 0 };
static cilist io__52 = { 0, 0, 0, fmt_401, 0 };
static cilist io__53 = { 0, 0, 0, fmt_501, 0 };
/*< implicit double precision (a-h,o-z) >*/
/* this routine generates the line-printer plots. */
/* spice version 2g.6 sccsid=miscel 3/15/83 */
/*< common /miscel/ atime,aprog(3),adate,atitle(10),defl,defw,defad, >*/
/*< 1 defas,rstats(50),iwidth,lwidth,nopage >*/
/* spice version 2g.6 sccsid=status 3/15/83 */
/*< common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet, >*/
/*< 1 xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon, >*/
/*< 2 iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile >*/
/* spice version 2g.6 sccsid=knstnt 3/15/83 */
/*< common /knstnt/ twopi,xlog2,xlog10,root2,rad,boltz,charge,ctok, >*/
/*< 1 gmin,reltol,abstol,vntol,trtol,chgtol,eps0,epssil,epsox, >*/
/*< 2 pivtol,pivrel >*/
/* spice version 2g.6 sccsid=outinf 3/15/83 */
/*< common /outinf/ xincr,string(15),xstart,yvar(8),itab(8),itype(8), >*/
/*< 1 ilogy(8),npoint,numout,kntr,numdgt >*/
/* spice version 2g.6 sccsid=blank 3/15/83 */
/*< common /blank/ value(200000) >*/
/*< integer nodplc(64) >*/
/*< complex cvalue(32) >*/
/*< equivalence (value(1),nodplc(1),cvalue(1)) >*/
/*< integer xxor >*/
/*< dimension ycoor(5,8),icoor(8),delplt(8) >*/
/*< dimension agraph(13),aplot(13) >*/
/*< dimension asym(2),pmin(8),jcoor(8) >*/
/*< data ablnk, aletx, aper / 1h , 1hx, 1h. / >*/
/*< data asym1, asym2, arprn / 8h(-------, 8h--------, 1h) / >*/
/*< data pltsym / 8h*+=$0<>? / >*/
/*< iwide=1 >*/
iwide = 1;
/*< nwide=101 >*/
nwide = 101;
/*< nwide4=25 >*/
nwide4 = 25;
/*< if(lwidth.gt.80) go to 3 >*/
if (miscel_1.lwidth > 80) {
goto L3;
}
/*< iwide=0 >*/
iwide = 0;
/*< nwide=57 >*/
nwide = 57;
/*< nwide4=14 >*/
nwide4 = 14;
/*< 3 if (numpnt.le.0) go to 400 >*/
L3:
if (*numpnt <= 0) {
goto L400;
}
/*< do 5 i=1,13 >*/
for (i = 1; i <= 13; ++i) {
/*< agraph(i)=ablnk >*/
agraph[i - 1] = ablnk;
/*< 5 continue >*/
/* L5: */
}
/*< do 7 i=1,5 >*/
for (i = 1; i <= 5; ++i) {
/*< ispot=1+nwide4*(i-1) >*/
ispot = nwide4 * (i - 1) + 1;
/*< call move(agraph,ispot,aper,1,1) >*/
move_(agraph, &ispot, &aper, &c__1, &c__1);
/*< 7 continue >*/
/* L7: */
}
/*< locyt=locy >*/
locyt = *locy;
/*< lspot=locv-1 >*/
lspot = *locv - 1;
/*< mltscl=0 >*/
mltscl = 0;
/*< if (value(locv).eq.0.0d0) mltscl=1 >*/
if (blank_1.value[*locv - 1] == 0.) {
mltscl = 1;
}
/*< do 235 k=1,kntr >*/
i_1 = outinf_1.kntr;
for (k = 1; k <= i_1; ++k) {
/*< lspot=lspot+2 >*/
lspot += 2;
/*< ymin=value(lspot) >*/
ymin = blank_1.value[lspot - 1];
/*< ymax=value(lspot+1) >*/
ymax = blank_1.value[lspot];
/*< if (ymin.ne.0.0d0) go to 10 >*/
if (ymin != 0.) {
goto L10;
}
/*< if (ymax.ne.0.0d0) go to 10 >*/
if (ymax != 0.) {
goto L10;
}
/*< go to 100 >*/
goto L100;
/*< 10 ymin1=dmin1(ymin,ymax) >*/
L10:
ymin1 = min(ymin,ymax);
/*< ymax1=dmax1(ymin,ymax) >*/
ymax1 = max(ymin,ymax);
/*< 30 if (ilogy(k).eq.1) go to 40 >*/
/* L30: */
if (outinf_1.ilogy[k - 1] == 1) {
goto L40;
}
/*< ymin1=dlog10(dmax1(ymin1,1.0d-20)) >*/
d_1 = max(ymin1,1e-20);
ymin1 = d_lg10(&d_1);
/*< ymax1=dlog10(dmax1(ymax1,1.0d-20)) >*/
d_1 = max(ymax1,1e-20);
ymax1 = d_lg10(&d_1);
/*< del=dmax1(ymax1-ymin1,0.0001d0)/4.0d0 >*/
/* Computing MAX */
d_1 = ymax1 - ymin1;
del = max(1e-4,d_1) / 4.;
/*< go to 50 >*/
goto L50;
/*< 40 del=dmax1(ymax1-ymin1,1.0d-20)/4.0d0 >*/
L40:
/* Computing MAX */
d_1 = ymax1 - ymin1;
del = max(1e-20,d_1) / 4.;
/*< 50 ymin=ymin1 >*/
L50:
ymin = ymin1;
/*< ymax=ymax1 >*/
ymax = ymax1;
/*< go to 200 >*/
goto L200;
/* determine max and min values */
/*< 100 ymax1=value(locyt+1) >*/
L100:
ymax1 = blank_1.value[locyt];
/*< ymin1=ymax1 >*/
ymin1 = ymax1;
/*< if (numpnt.eq.1) go to 150 >*/
if (*numpnt == 1) {
goto L150;
}
/*< do 110 i=2,numpnt >*/
i_2 = *numpnt;
for (i = 2; i <= i_2; ++i) {
/*< ymin1=dmin1(ymin1,value(locyt+i)) >*/
/* Computing MAX */
d_1 = ymin1, d_2 = blank_1.value[locyt + i - 1];
ymin1 = min(d_2,d_1);
/*< ymax1=dmax1(ymax1,value(locyt+i)) >*/
/* Computing MAX */
d_1 = ymax1, d_2 = blank_1.value[locyt + i - 1];
ymax1 = max(d_2,d_1);
/*< 110 continue >*/
/* L110: */
}
/* scaling */
/*< 150 call scale(ymin1,ymax1,4,ymin,ymax,del) >*/
L150:
scale_(&ymin1, &ymax1, &c__4, &ymin, &ymax, &del);
/* determine coordinates */
/*< 200 ycoor(1,k)=ymin >*/
L200:
ycoor[k * 5 - 5] = ymin;
/*< pmin(k)=ymin >*/
pmin[k - 1] = ymin;
/*< small=del*1.0d-4 >*/
small = del * 1e-4;
/*< if (dabs(ycoor(1,k)).le.small) ycoor(1,k)=0.0d0 >*/
if ((d_1 = ycoor[k * 5 - 5], abs(d_1)) <= small) {
ycoor[k * 5 - 5] = 0.;
}
/*< do 210 i=1,4 >*/
for (i = 1; i <= 4; ++i) {
/*< ycoor(i+1,k)=ycoor(i,k)+del >*/
ycoor[i + 1 + k * 5 - 6] = ycoor[i + k * 5 - 6] + del;
/*< if (dabs(ycoor(i+1,k)).le.small) ycoor(i+1,k)=0.0d0 >*/
if ((d_1 = ycoor[i + 1 + k * 5 - 6], abs(d_1)) <= small) {
ycoor[i + 1 + k * 5 - 6] = 0.;
}
/*< 210 continue >*/
/* L210: */
}
/*< if (ilogy(k).eq.1) go to 230 >*/
if (outinf_1.ilogy[k - 1] == 1) {
goto L230;
}
/*< do 220 i=1,5 >*/
for (i = 1; i <= 5; ++i) {
/*< 220 ycoor(i,k)=dexp(xlog10*ycoor(i,k)) >*/
/* L220: */
ycoor[i + k * 5 - 6] = exp(knstnt_1.xlog10 * ycoor[i + k * 5 - 6])
;
}
/*< 230 delplt(k)=del/dble(nwide4) >*/
L230:
delplt[k - 1] = del / (doublereal) nwide4;
/*< locyt=locyt+npoint >*/
locyt += outinf_1.npoint;
/*< 235 continue >*/
/* L235: */
}
/* count distinct coordinates */
/*< icoor(1)=1 >*/
icoor[0] = 1;
/*< jcoor(1)=1 >*/
jcoor[0] = 1;
/*< numcor=1 >*/
numcor = 1;
/*< if (kntr.eq.1) go to 290 >*/
if (outinf_1.kntr == 1) {
goto L290;
}
/*< do 250 i=2,kntr >*/
i_1 = outinf_1.kntr;
for (i = 2; i <= i_1; ++i) {
/*< do 245 j=1,numcor >*/
i_2 = numcor;
for (j = 1; j <= i_2; ++j) {
/*< l=jcoor(j) >*/
l = jcoor[j - 1];
/* ... coordinates are *equal* if the most significant 24 bits
agree */
/*< do 240 k=1,5 >*/
for (k = 1; k <= 5; ++k) {
/* **********************************************************
******* */
/* temporarily check 'equality' this way */
/*< y1=ycoor(k,i) >*/
y1 = ycoor[k + i * 5 - 6];
/*< y2=ycoor(k,l) >*/
y2 = ycoor[k + l * 5 - 6];
/*< if(y1.eq.0.0d0.and.y2.eq.0.0d0) go to 240 >*/
if (y1 == 0. && y2 == 0.) {
goto L240;
}
/*< if(dabs((y1-y2)/dmax1(dabs(y1),dabs(y2))).ge.1.0d-7) go to 245 >*/
/* Computing MAX */
d_2 = abs(y1), d_3 = abs(y2);
if ((d_1 = (y1 - y2) / max(d_3,d_2), abs(d_1)) >= 1e-7) {
goto L245;
}
/*< 240 continue >*/
L240:
;}
/*< icoor(i)=l >*/
icoor[i - 1] = l;
/*< go to 250 >*/
goto L250;
/*< 245 continue >*/
L245:
;}
/*< icoor(i)=i >*/
icoor[i - 1] = i;
/*< numcor=numcor+1 >*/
++numcor;
/*< jcoor(numcor)=i >*/
jcoor[numcor - 1] = i;
/*< 250 continue >*/
L250:
;}
/* print coordinates */
/*< 260 do 280 i=1,numcor >*/
/* L260: */
i_1 = numcor;
for (i = 1; i <= i_1; ++i) {
/*< asym(1)=asym1 >*/
asym[0] = asym1;
/*< asym(2)=asym2 >*/
asym[1] = asym2;
/*< ipos=2 >*/
ipos = 2;
/*< do 270 j=1,kntr >*/
i_2 = outinf_1.kntr;
for (j = 1; j <= i_2; ++j) {
/*< if (icoor(j).ne.jcoor(i)) go to 270 >*/
if (icoor[j - 1] != jcoor[i - 1]) {
goto L270;
}
/*< call move(asym,ipos,pltsym,j,1) >*/
move_(asym, &ipos, &pltsym, &j, &c__1);
/*< ipos=ipos+1 >*/
++ipos;
/*< 270 continue >*/
L270:
;}
/*< call move(asym,ipos,arprn,1,1) >*/
move_(asym, &ipos, &arprn, &c__1, &c__1);
/*< k=jcoor(i) >*/
k = jcoor[i - 1];
/*< if(iwide.ne.0) write(iofile,271) asym,(ycoor(j,k),j=1,5) >*/
if (iwide != 0) {
io__38.ciunit = status_1.iofile;
s_wsfe(&io__38);
do_fio(&c__2, (char *)&asym[0], (ftnlen)sizeof(doublereal));
for (j = 1; j <= 5; ++j) {
do_fio(&c__1, (char *)&ycoor[j + k * 5 - 6], (ftnlen)sizeof(
doublereal));
}
e_wsfe();
}
/*< 271 format(/2a8,4h----,1pd12.3,4(15x,d10.3)/26x,51(2h -)) >*/
/*< if(iwide.eq.0) write(iofile,273) asym,(ycoor(j,k),j=1,5) >*/
if (iwide == 0) {
io__39.ciunit = status_1.iofile;
s_wsfe(&io__39);
do_fio(&c__2, (char *)&asym[0], (ftnlen)sizeof(doublereal));
for (j = 1; j <= 5; ++j) {
do_fio(&c__1, (char *)&ycoor[j + k * 5 - 6], (ftnlen)sizeof(
doublereal));
}
e_wsfe();
}
/*< 273 format(/2a8,1x,1pd10.3,3(4x,d10.3),1x,d10.3/22x,29(2h -)) >*/
/*< 280 continue >*/
/* L280: */
}
/*< go to 300 >*/
goto L300;
/*< 290 if(iwide.ne.0) write(iofile,291) (ycoor(j,1),j=1,5) >*/
L290:
if (iwide != 0) {
io__40.ciunit = status_1.iofile;
s_wsfe(&io__40);
for (j = 1; j <= 5; ++j) {
do_fio(&c__1, (char *)&ycoor[j - 1], (ftnlen)sizeof(doublereal));
}
e_wsfe();
}
/*< 291 format(/20x,1pd12.3,4(15x,d10.3)/26x,51(2h -)) >*/
/*< if(iwide.eq.0) write(iofile,293) (ycoor(j,1),j=1,5) >*/
if (iwide == 0) {
io__41.ciunit = status_1.iofile;
s_wsfe(&io__41);
for (j = 1; j <= 5; ++j) {
do_fio(&c__1, (char *)&ycoor[j - 1], (ftnlen)sizeof(doublereal));
}
e_wsfe();
}
/*< 293 format(/15x,1pd12.3,3(4x,d10.3),1x,d10.3/22x,29(2h -)) >*/
/* plotting */
/*< 300 aspot=ablnk >*/
L300:
aspot = ablnk;
/*< do 320 i=1,numpnt >*/
i_1 = *numpnt;
for (i = 1; i <= i_1; ++i) {
/*< xvar=value(locx+i) >*/
xvar = blank_1.value[*locx + i - 1];
/*< locyt=locy >*/
locyt = *locy;
/*< call copy8(agraph,aplot,13) >*/
copy8_(agraph, aplot, &c__13);
/*< do 310 k=1,kntr >*/
i_2 = outinf_1.kntr;
for (k = 1; k <= i_2; ++k) {
/*< yvr=value(locyt+i) >*/
yvr = blank_1.value[locyt + i - 1];
/*< ktmp=icoor(k) >*/
ktmp = icoor[k - 1];
/*< ymin1=pmin(ktmp) >*/
ymin1 = pmin[ktmp - 1];
/*< jpoint=idint((yvr-ymin1)/delplt(k)+0.5d0)+1 >*/
jpoint = (integer) ((yvr - ymin1) / delplt[k - 1] + .5) + 1;
/*< if (jpoint.le.0) go to 306 >*/
if (jpoint <= 0) {
goto L306;
}
/*< if (jpoint.gt.nwide) go to 306 >*/
if (jpoint > nwide) {
goto L306;
}
/*< call move(aspot,1,aplot,jpoint,1) >*/
move_(&aspot, &c__1, aplot, &jpoint, &c__1);
/*< if (aspot.eq.ablnk) go to 303 >*/
if (aspot == ablnk) {
goto L303;
}
/*< if (aspot.eq.aper) go to 303 >*/
if (aspot == aper) {
goto L303;
}
/*< call move(aplot,jpoint,aletx,1,1) >*/
move_(aplot, &jpoint, &aletx, &c__1, &c__1);
/*< go to 306 >*/
goto L306;
/*< 303 call move(aplot,jpoint,pltsym,k,1) >*/
L303:
move_(aplot, &jpoint, &pltsym, &k, &c__1);
/*< 306 locyt=locyt+npoint >*/
L306:
locyt += outinf_1.npoint;
/*< 310 continue >*/
/* L310: */
}
/*< yvr=value(locy+i) >*/
yvr = blank_1.value[*locy + i - 1];
/*< if (ilogy(1).eq.1) go to 315 >*/
if (outinf_1.ilogy[0] == 1) {
goto L315;
}
/*< yvr=dexp(xlog10*yvr) >*/
yvr = exp(knstnt_1.xlog10 * yvr);
/*< 315 if(iwide.ne.0) write(iofile,316) xvar,yvr,aplot >*/
L315:
if (iwide != 0) {
io__48.ciunit = status_1.iofile;
s_wsfe(&io__48);
do_fio(&c__1, (char *)&xvar, (ftnlen)sizeof(doublereal));
do_fio(&c__1, (char *)&yvr, (ftnlen)sizeof(doublereal));
do_fio(&c__13, (char *)&aplot[0], (ftnlen)sizeof(doublereal));
e_wsfe();
}
/*< 316 format(1pd10.3,3x,d10.3,3x,13a8) >*/
/*< if(iwide.eq.0) write(iofile,317) xvar,yvr,(aplot(k),k=1,8) >*/
if (iwide == 0) {
io__49.ciunit = status_1.iofile;
s_wsfe(&io__49);
do_fio(&c__1, (char *)&xvar, (ftnlen)sizeof(doublereal));
do_fio(&c__1, (char *)&yvr, (ftnlen)sizeof(doublereal));
for (k = 1; k <= 8; ++k) {
do_fio(&c__1, (char *)&aplot[k - 1], (ftnlen)sizeof(
doublereal));
}
e_wsfe();
}
/*< 317 format(1pd10.3,1x,d10.3,1x,7a8,a1) >*/
/*< 320 continue >*/
/* L320: */
}
/* finished */
/*< if(iwide.ne.0) write(iofile,331) >*/
if (iwide != 0) {
io__50.ciunit = status_1.iofile;
s_wsfe(&io__50);
e_wsfe();
}
/*< 331 format(26x,51(2h -)//) >*/
/*< if(iwide.eq.0) write(iofile,332) >*/
if (iwide == 0) {
io__51.ciunit = status_1.iofile;
s_wsfe(&io__51);
e_wsfe();
}
/*< 332 format(22x,29(2h -)//) >*/
/*< go to 500 >*/
goto L500;
/* too few points */
/*< 400 write (iofile,401) >*/
L400:
io__52.ciunit = status_1.iofile;
s_wsfe(&io__52);
e_wsfe();
/*< 401 format('0warning: too few points for plotting'/) >*/
/*< 500 write (iofile,501) >*/
L500:
io__53.ciunit = status_1.iofile;
s_wsfe(&io__53);
e_wsfe();
/*< 501 format(1hy) >*/
/*< return >*/
return 0;
/*< end >*/
} /* plot_ */
#undef cvalue
#undef nodplc
#undef pltsym
#undef arprn
#undef asym2
#undef asym1
#undef aper
#undef aletx
#undef ablnk